home *** CD-ROM | disk | FTP | other *** search
/ The Best of MacTutor - S…e Code for Volumes 1 to 5 / The Best of MacTutor - Source Code for Volume 1-5 (Wayzata Technology)(6031)(1990).bin / Source Code / #24 (Sep 87) / fortran source / misc stuff / MacXRF Folder / macxrf.com < prev    next >
Text File  |  1985-02-26  |  3KB  |  92 lines

  1. *************************************************************************
  2. * Title: MacFORTRAN Subprogram Cross-Referencer - Common Block Definition
  3. *
  4. * Produced by: Absoft South, Inc.             Date:  1/15/85
  5. *
  6. * Purpose: To declare and define the common data storage area for the
  7. *         MacFORTRAN subprogram cross-referencer.
  8. *            
  9. * Notes: 
  10. *    
  11. * Modification History:
  12. *
  13. *************************************************************************
  14. * Indicates the calling structure is to be saved in a file.
  15.       LOGICAL OUTPUTLVL
  16.  
  17. * Indicates the final symbol table is to be saved in a file.
  18.       LOGICAL OUTPUTSMB
  19.  
  20. * Indicates the reference table is to be saved in a file.
  21.       LOGICAL OUTPUTREF
  22.  
  23. * Indicates a search of the symbol table for subprograms already accessed.
  24.       LOGICAL SYMFLG
  25.  
  26. * Indicates the internal subroutines are not to be traversed.
  27.       LOGICAL ISRFLG
  28.  
  29. * A single source code line.
  30.       CHARACTER*132 INLINE
  31.  
  32. * Storage for the program name at the top of the traversal (Starting program).
  33.       CHARACTER*6 MAINPR
  34.  
  35. * Temporary storage for the current source filename.
  36.       CHARACTER*6 PROGNM
  37.  
  38. * Temporary storage for a filename extension.
  39.       CHARACTER*4 EXTN
  40.  
  41. * File extension type (I, F, M, or ?)
  42.       CHARACTER*1 FILTYP
  43.  
  44. * Source code filename nesting stack.
  45.       CHARACTER*6 PRSTCK(15)
  46.  
  47. * The current nesting level of the calling structure.
  48.       INTEGER LVLNUM
  49.  
  50. * The current logical unit number that is being read to inspect source code.
  51.       INTEGER CURRENTUNIT
  52.  
  53. * Array of indices to the symbol table.
  54.       INTEGER SYMIDX(375)
  55.  
  56. * Array of filenames in the symbol table.
  57.       CHARACTER*6 SYMFIL(375)
  58.  
  59. * Array of extensions associated with SYMFIL.
  60.       CHARACTER*4 SYMEXT(375)
  61.  
  62. * Array to associate the number of times a routine is called with its
  63. *   name (SYMFIL).
  64.       INTEGER SYMCLL(375)
  65.  
  66. * Array of symbol table indices that relate a symbol table entry to all
  67. *   of its calling programs.
  68.       INTEGER REFTBL(375,40)
  69.  
  70. * The number of files that are currently in the symbol table.
  71.       INTEGER TOTALSYMBOLS
  72.  
  73. * Indicates the PROGNM is a part of the symbol table.
  74.       LOGICAL ISSYMBOL
  75.  
  76. * Prefix string to illustrate the current subprogram nesting level.
  77.       CHARACTER*62 NESTHEADER
  78.  
  79. * Indicates the current call is recursive.
  80.       LOGICAL RECURSIVE
  81.  
  82. ****************************************************************************
  83. *
  84. * Common Storage Definition
  85. *
  86. ****************************************************************************
  87. * Define a common block for frequently used variables.
  88.       COMMON /NEWXRF/ OUTPUTLVL,OUTPUTSMB,OUTPUTREF,SYMFLG,ISRFLG,
  89.      +              INLINE,MAINPR,PROGNM,EXTN,FILTYP,PRSTCK,LVLNUM,
  90.      +              CURRENTUNIT,SYMIDX,SYMFIL,SYMEXT,SYMCLL,REFTBL,
  91.      +              TOTALSYMBOLS,ISSYMBOL,NESTHEADER,RECURSIVE
  92.